#ifndef __KEYBOARD_H
#define __KEYBOARD_H

#include "gpio.h"
#include "uart.h"
#include "memory.h"
/***********************************************************************************************************************
����״̬����
***********************************************************************************************************************/
typedef struct _KEYBOARD_T
{
    INT8U scan_step;
    INT8U left_valve;
        INT8U right_value;
        INT8U choice_valve;
        INT8U key_value_bak;
        INT8U delay_ms;
}KEYBOARD_T;
/***********************************************************************************************************************
�������Ŷ���
***********************************************************************************************************************/
#define KEY_ODR    P2
#define KEY_LEFT   4
#define KEY_RIGHT  3
#define KEY_CHOICE 2

#define GET_KEY_LEFT()   do{GET_Bit(KEY_ODR, KEY_LEFT);}while(0)
#define GET_KEY_RIGHT()  do{GET_Bit(KEY_ODR, KEY_RIGHT);}while(0)
#define GET_KEY_CHOICE() do{GET_Bit(KEY_ODR, KEY_CHOICE);}while(0)


/***********************************************************************************************************************
���������ӿ�
***********************************************************************************************************************/
extern void  keyboard_init();
extern void  keyboard_scan_process();
#endif